## Exercicios 4
### 4.1 - Represente este resultado como um grfico de barras e um dotplot (funo dotchart). 
cervejas = c("chope","lata","garrafa","chope","garrafa", "garrafa","lata","lata","nenhuma","lata","garrafa","garrafa", "garrafa","lata","lata","lata","garrafa","lata","chope","nenhuma", "garrafa","garrafa","garrafa","chope","garrafa","garrafa","chope","garrafa","lata","lata")
table(cervejas)
X11()
par(mfrow=c(2,1))
barplot(sort(table(cervejas),decreasing=F),ylab="Quantidade",las=1)
dotchart(sort(table(cervejas),decreasing=F),xlab="Quantidade")
### 4.2 - Qual tem maior razo dado/tinta?
##R: O que tem a maior razo dado/tinta  o dotchart, porque nesse tipo de grfico se espera analisar um comportamento ou ajustar um modelo aos dados e nessa caso no faz sentido ajustar.

## 4.3 Caixetais

##Neste exerccio, use o objeto caixeta, criado no tutorial Explorao de uma Varivel Categrica.

###Construa um histograma do dap1) dos fustes dos caixetais.
caixetas=read.table("caixeta.csv", sep=",",header=T,as.is=T)
head(caixetas)
dap=caixetas[,5]/2*pi
caixetas1=data.frame(caixetas,dap)
head(caixetas1)
tail(caixetas1)
str(caixetas1)
X11()
hist(caixetas1$dap,xlab="DAP")
###Construa histogramas da altura das rvores para os diferentes caixetais ('local').
caixetas1$local
local.chauas = caixetas1[caixetas1$local=="chauas",]
local.jureia = caixetas1[caixetas1$local=="jureia",]
local.retiro = caixetas1[caixetas1$local=="retiro",]
par(mfrow=c(2,2))
hist(local.chauas$h,xlab = "Chauas")
hist(local.jureia$h,xlab= "Jureia")
hist(local.retiro$h,xlab="Retiro")
###H diferenas entre as estruturas (distribuio de tamanhos) dos caixetais?
#A partir dos histogramas  possivel notar diferenas entre as distribuies de tamanho dos caixetais.

##4.4 Eucaliptos
##Utilize o grfico boxplot para analisar o DAP de rvores de E. grandis em funo das variveis regio (regiao) e rotao (rotacao).
e.grandis=read.table("egrandis.csv", sep=";",header=T, as.is=F)
head(e.grandis)
str(e.grandis)
Salto = e.grandis[e.grandis$regiao=="Salto",]
Bofete = e.grandis[e.grandis$regiao=="Bofete",]
Botucatu = e.grandis[e.grandis$regiao=="Botucatu",]
Itatinga = e.grandis[e.grandis$regiao=="Itatinga",]
X11()
boxplot(Salto$dap,Bofete$dap,Botucatu$dap,Itatinga$dap, names =c("Salto","Bofete","Botucatu","Itatinga"), ylab="DAP")
rotacao1 = e.grandis[e.grandis$rotacao==1,]
rotacao2 =e.grandis[e.grandis$rotacao==2,]
boxplot(rotacao1$dap,rotacao2$dap, names= c("Rotao 1", "Rotao 2"), ylab= "DAP")

##Avalie a normalidade da altura do conjunto total de rvores com um grfico quantil-quantil contra a distribuio normal.
qqnorm(e.grandis$ht)
qqline(e.grandis$ht, col="red", lwd=2)
# A partir do grfico  possivel dizer que os valores de altura total no so de uma distribuio normal.


## 1) Analise a relao dap-altura ('dap' e 'h') em funo do caixetal (local) com a funo plot,
###mas somente para as rvores de caixeta (Tabebuia cassinoides).
caixetas=read.table("caixeta.csv", sep=",",header=T,as.is=T)
head(caixetas)
tail(caixetas)
Tabebuia = caixetas[caixetas$especie == "Tabebuia cassinoides",]
head(Tabebuia)
Chauas = Tabebuia[Tabebuia$local ==  "chauas",]
Retiro = Tabebuia[Tabebuia$local ==  "retiro",]
Jureia = Tabebuia[Tabebuia$local ==  "jureia",]
head(Chauas)
str(Chauas)
areaC = (Chauas$cap^2)/(4*pi) 
Chauas = data.frame(Chauas,areaC)
areaR = (Retiro$cap^2)/(4*pi)
Retiro = data.frame(Retiro,areaR)
areaJ = (Jureia$cap^2)/(4*pi)
Jureia = data.frame(Jureia,areaJ)
head(Chauas)
Chauas1 = data.frame(aggregate(Chauas$areaC, list(Chauas$arvore), FUN=sum))
colnames(Chauas1)[1] = "rvore"
colnames(Chauas1)[2] = "reaBTotal"
head(Chauas1)
Retiro1 = data.frame(aggregate(Retiro$areaR,list(Retiro$arvore),FUN=sum))
colnames(Retiro1)[1] = "rvore"
colnames(Retiro1)[2] = "reaBTotal"
Jureia1 = data.frame(aggregate(Jureia$areaJ,list(Jureia$arvore),FUN=sum))
colnames(Jureia1)[1] = "rvore"
colnames(Jureia1)[2] = "reaBTotal"
DAPC = sqrt(4*Chauas1$reaBTotal/pi)
Chauas2 =  data.frame(Chauas1,DAPC)
head(Chauas2)
DAPR = sqrt(4*Retiro1$reaBTotal/pi)
Retiro2=data.frame(Retiro1,DAPR)
DAPJ =sqrt(4*Jureia1$reaBTotal/pi)
Jureia2 = data.frame(Jureia1,DAPJ)
hchauas = data.frame(aggregate(Chauas$h,list(Chauas$arvore), FUN=mean))
colnames(hchauas)[1] = "rvore"
colnames(hchauas)[2] = "Altura"
head(hchauas)
Chauas2 = data.frame(hchauas,Chauas2)
head(Chauas2)
Retiro2= data.frame(hretiro = aggregate(Retiro$h,list(Retiro$arvore), FUN=mean), Retiro2)
head(Retiro2)
colnames(Retiro2)[1] = "rvore"
colnames(Retiro2)[2] = "Altura"
Jureia2 = data.frame(Altura = aggregate(Jureia$h, list(Jureia$arvore),FUN=mean), Jureia2)
head(Jureia2)
colnames(Jureia2)[1] = "rvore"
colnames(Jureia2)[2] = "Altura"
Chauas2<-Chauas2[-3]
Jureia2 = Jureia2[-3]
Retiro2 = Retiro2[-3]
X11()
par(mfrow=c(1,3))
plot(Chauas2$Altura,Chauas2$DAPC, data = Chauas2, xlab="Altura", ylab="Dap", main="Chauas")
plot(Retiro2$Altura,Retiro2$DAPR, data = Retiro2, xlab="Altura", ylab="Dap", main="Retiro")
plot(Jureia2$Altura,Jureia2$DAPJ, data = Jureia2, xlab="Altura", ylab="Dap", main="Jureia")

### 2)Para a mesma relao do item anterior, verifique linearidade com a funo scatter.smooth
par(mfrow=c(1,3))
scatter.smooth(Chauas2$DAPC ~ Chauas2$Altura , col="red", xlab="Altura", ylab="Dap", main="Chauas")
scatter.smooth(Retiro2$DAPR, Retiro2$Altura , col="red", xlab="Altura", ylab="Dap", main="Retiro")
scatter.smooth(Jureia2$DAPJ, Jureia2$Altura , col="red", xlab="Altura", ylab="Dap", main="Jureia")

#### 3) Utilizando o pacote lattice, analise a relao dap-altura ('dap' e 'h') em funo do caixetal (local), mas somente para as rvores  de caixeta (Tabebuia cassinoides).

library(lattice)
?????